package com.yc.spring.aop.proxy;

/**
 * Company 源辰信息
 *
 * @author navy
 * @date 2024/8/2
 * Email haijunzhou@hnit.edu.cn
 */
public class Demo {
    public static void main(String[] args) {
        人 p1 = new 房东();
        人 p2 = new 中介(p1);
        人 p3 = new 中介1();

        p2.say();

        p3.say();
    }
}

// 抽象主题 => 接口
interface 人 {
    void say();
}

class 房东 implements 人{
    @Override
    public void say() {
        System.out.println("我有一套好房子!");
    }
}

class 中介 implements 人 {

    private 人 person;

    public 中介(人 person) {
        this.person = person;
    }

    public void say() {
        System.out.println("交通方便");
        person.say();
        System.out.println("生活便利");
    }
}

class 中介1 extends 房东{
    @Override
    public void say() {
        System.out.println("交通方便");
        super.say();
        System.out.println("生活便利");
    }
}
